APPENDIX B STATUS CODES AND MESSAGES This appendix describes the Btrieve status codes and messages. The codes are listed first and appear in numeric order. The messages follow the codes and are listed in alphabetic order. Status Codes This section lists and describes the status codes that the Btrieve v6.x Record Manager, client-based Btrieve for OS/2 and Windows, and Btrieve Requesters can return. Table B-1 shows the numeric ranges dedicated to each type of code. Table B-1 Status Code Ranges Range Type of Code 1-199 Btrieve Record Manager 1000-1999 Client-Based Btrieve for OS/2 and Windows 2000-2099 Btrieve Requesters Btrieve RequestersBtrieve Record Manager Status Codes The Btrieve Record Manager returns a status code after each operation that an application performs. If the operation is successful, Btrieve returns Status Code 0. If the operation is not successful, Btrieve returns one of the nonzero status codes described in this section. 01: The operation parameter is invalid. The operation parameter specified in the call is invalid. 02: Btrieve encountered an I/O error. Btrieve encountered an error while reading from or writing to the disk. One of the following has occurred: o The file is damaged and must be recreated. o There is a large pre-image file inside a transaction, and there is not enough space for a write to the pre-image file. NOTE: Pre-image files are used only for files created by Btrieve versions earlier than v6.x, or by v6.x if it was loaded with the Create Btrieve Files in Pre v6.x Format configuration option set to Yes. o For Btrieve v5.x files, there is one pre-image file for multiple data files. For example, if you name the data files CUSTOMER.ONE and CUSTOMER.TWO, both files will have pre-image files named CUSTOMER.PRE. o There is not enough space to append a new page to the data file o Client-based Btrieve attempted to write to a Btrieve file flagged shareable while server-based Btrieve had the file open. 03: The file is not open. The operation cannot be executed because the file is not open. The application must perform a successful Open operation before Btrieve can process any other operations. This status code may also be returned if the application passed an invalid position block for the file, or if the application passed a position block with a different client ID than the client ID used to open the file. 04: Btrieve cannot find the key value. Btrieve cannot find the specified key value in the index path. 05: The record has a key field containing a duplicate key value. Btrieve cannot add or update a record for the designated index because the record has a key field that contains a duplicate key value, and the index does not allow duplicate values. 06: The key number parameter is invalid. The value stored in the key number parameter is not valid for the file being accessed. The key number must correspond to one of the keys defined for the file. Valid key numbers are 0 through 118. 07: The key number has changed. The key number parameter changed before a Get Next, Get Next Extended, Get Previous, Get Previous Extended, Update, or Delete operation. The operation requires the same key number parameter as the previous operation because Btrieve uses positioning information relative to the previous key number. If you need to change key numbers between consecutive Get Next, Get Next Extended, Get Previous, Get Previous Extended, Update, or Delete operations, use a Get Position operation fo 08: The current positioning is invalid. The current position must be established to update or delete a record. Perform a Get or Step operation to establish the current position. This status code may also be returned if the application passed an invalid position block for the file. 09: The operation encountered an end-of-file condition. This status code indicates one of the following conditions has occurred: o The operation encountered an end-of-file boundary or tried to read past a file boundary (end-of-file or start-of-file). o In a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation, the number of records satisfying the filtering condition is less than the number of specified records to be returned, and the reject count has not been reached. 10: The key field is not modifiable. During an Update operation, an attempt was made to modify a key field that is defined as nonmodifiable. 11: The specified filename is invalid. This status code indicates one of the following conditions is true: o The filename specified does not conform to file naming conventions. o An attempt was made to open a file that has .^^^ as its extension. This extension is reserved for Btrieve to use during a continuous operation. o The data buffer for a Begin or End continuous opertion is not set up correctly. 12: Btrieve cannot find the specified file. Check the key buffer parameter to make sure the pathname is terminated with a blank or a binary zero. Also, check to be sure the file exists. 14: Btrieve cannot create or open the pre-image file. There are four possible causes for this status code: NOTE: Pre-image files are used only for files created by Btrieve versions earlier than v6.x, or by v6.x if it was loaded with the Create Btrieve Files in Pre v6.x Format configuration option set to Yes. o Btrieve cannot create a new pre-image file because the disk directory is full. Btrieve must be able to create a pre-image file. o Btrieve cannot open the pre-image file to restore file integrity. If the pre-image file is erased or damaged, Btrieve cannot restore the fileÕs integrity. In this case, either use the RECOVER command in the Btrieve Maintenance utility to retrieve the damaged fileÕs data records in a sequential file, or replace the file with its most recent backup. o Client-based Btrieve cannot assign a handle to the pre-image file because Btrieve was not started by a user with access rights to the pre-image file. o The file structure of a pre-image file created by Btrieve v6.x is different from the file structure of a pre-image file created by Btrieve v5.x. If you have an extraneous .PRE file in Btrieve v5.x format and you are using Btrieve v6.x, Status Code 14 is returned when you try to open the Btrieve file to which the .PRE file belongs. 15: Btrieve encountered an I/O error during pre-imaging. This status code indicates either the disk is full or the pre-image file is damaged. NOTE: Pre-image files are used only for files created by Btrieve versions earlier than v6.x, or by v6.x if it was loaded with the Create Btrieve Files in Pre v6.x Format configuration option set to Yes. When this status code occurs, proceed as follows: o If the disk is full, erase any unnecessary files or extend the file to gain additional disk space. o If the pre-image file is damaged, the integrity of the Btrieve file cannot be ensured. Either use the RECOVER command in the Btrieve Maintenance utility to retrieve the damaged file's data records in a sequential file, or replace the file with its most recent backup. 16: Btrieve encountered an expansion error. Btrieve encountered an error while writing the directory structure to disk prior to creating the expanded file partition. Either Btrieve cannot close the file, or a new page was added to the file and Btrieve cannot close and reopen the file to update the directory structure. Check for a disk hardware failure. 17: Btrieve encountered a close error. Btrieve encountered an error while writing the directory structure to disk prior to closing the file. Either Btrieve cannot close the file, or a new page was added to the file and Btrieve cannot close and reopen the file to update the directory structure. Check for a disk hardware failure. This status code may also be returned if the application passed an invalid position block for the file. 18: The disk is full. This status code can be returned in the following situations: o The disk is full, and the file cannot be expanded to accommodate additional records. Either erase any unnecessary files or extend the file to gain additional disk space. o The pre-image file is out of disk space. If you are working with files created by Btrieve versions earlier than v6.x and you are in a transaction, the pre-image file size increases for the duration of the transaction. If you receive this status, either reduce the number of operations in the transaction or obtain more disk space. o The NetWare owner name for the file is no longer valid, and your application tried to insert or update records in the file, thus causing the file to expand. In this case, this status code is returned when Btrieve needs to add a page to the file, regardless of how much disk space is available. To check for an owner name, use the NetWare utility NDIR. To add an owner name, use the NetWare utility Filer. o You can limit the amount of disk space available to each user in NetWare v4.0. This status code indicates an attempt was made to expand a Btrieve file beyond the amount of disk space allocated to the file's owner in NetWare. 19: The application encountered an unrecoverable error. To ensure file integrity, either use the RECOVER command in the Btrieve Maintenance utility to retrieve the damaged file's data records in a sequential file, or replace the Btrieve file with its most recent backup. 20: The Record Manager or Requester is inactive. You must load Btrieve and, if applicable, the Btrieve Requester before generating any requests. 21: The key buffer parameter is too short. The key buffer parameter is not long enough to accommodate the key field for the index path requested. Verify that the length of the key buffer equals the defined length of the key specified in the key number parameter. Only language interfaces that track the buffer length can return this status code. 22: The data buffer parameter is too short. The data buffer parameter is not large enough to accommodate the length of the data record defined when the file was created. Verify that the length of the data buffer is at least as long as the file's defined record length. o For Get or Step operations, Btrieve returns as much data as it can and a Status Code 22, indicating that it cannot return the entire record. o For an Insert operation, Btrieve does not insert the record if the data buffer is shorter than the fixed-length portion of the record. o For an Update operation, if the data buffer is too short to contain the fixed-length portion of a record, Btrieve does not update the record. o For the Create, Stat, and Create Supplemental Index operations, the data buffer is not long enough to contain all the file specifications, the key specifications, and (if specified) the alternate collating sequence definition. o For the Get By Percentage or Find Percentage operation, the data buffer length is less than 4 bytes. 23: The position block parameter is not 128 bytes long. Only language interfaces that track the position block length can detect and return this status code 24: The page size or data buffer size is invalid. Two possible reasons for receiving this status code are as follows: o The page size is invalid. The page size must be a multiple of 512 bytes and cannot exceed 4,096 bytes. o During a Create operation, the page size is the first file specification Btrieve checks. A Status Code 24 at this point may indicate an invalid data buffer parameter. In versions prior to Btrieve v6.1, this status code can be returned from the Open operation. In this case, Btrieve cannot open the file because the file's page size exceeds the Largest Page Size configuration option. To successfully open the file, you must increase the value of the Largest Page Size configuration option and then reload 25: Btrieve cannot create the specified file. Possible causes are a full disk directory or a full disk. If the application is creating a file over an existing file, Btrieve returns this status code when the existing file is open or when the operating system prevents the operation for some other reason (for example, because the file is flagged transactional). 26: The number of keys specified is invalid. The number of keys specified for the page size is invalid. The number of key segments must be within the following limits: Page Size Max. Number Key Segments 512 8 1,024 23 1,536 24 2,048 54 2,560 54 3,072 54 3,584 54 4,096 119 27: The key position is invalid. The key field position specified is less than 1 or exceeds the defined record length for the file. Either the key position is greater than the record length or the key position plus the key length exceeds the record length. 28: The record length is invalid. The record length specified (plus overhead for duplicates, record usage count, variable record pointers, record length, and blank truncation information) must be less than or equal to the page size minus 8 bytes, and greater than or equal to 4 bytes. 29: The key length is invalid. The key length specified must be greater than 0 but cannot exceed 255 bytes. The length of a binary key must be an even number. Btrieve requires that each key page in the file be large enough to hold at least eight keys. If the page size is too small to accommodate eight occurrences of the specified key length (plus overhead), either increase the file's page size or decrease the key length. 30: The file specified is not a Btrieve file. Either Btrieve did not create the file, or a version of Btrieve earlier than v3.x created it. This status code can also indicate that the first page of the file is damaged. Use a backup copy of your data file 31: The file is already extended. The application tried to specify a file that has already been extended. A file can be extended only once. Files on a NetWare v3.x server using the Btrieve NLM cannot be extended 32: The file cannot be extended. The application tried to specify a file that cannot be extended. Possible causes for receiving this status code are that the directory is full, the disk is full, or the disk is write protected. 34: The specified extension name is invalid. The application specified an invalid filename for the extended partition. Check the validity of the filename. 35: Btrieve encountered a directory error. Either a Get Directory operation specified a drive that does not exist, or a Set Directory operation specified an invalid pathname. Check the validity of both the drive and the pathname. 36: Btrieve encountered a transaction error. Btrieve tried to perform a Begin Transaction operation without configuring Btrieve to allow transactions. Run the Setup utility and specify a higher value for the Number of Transactions configuration option. Next, stop and then restart Btrieve using BSTOP and BSTART so that your changes will take effect. 37: Another transaction is active. The application issued a Begin Transaction operation while another transaction was active by the same client (it can be an NLM or application). Btrieve does not accommodate nesting transactions. 38: Btrieve encountered a transaction control file I/O error. Btrieve encountered an error when it tried to write to the transaction control file. Possible causes for receiving this status code are that the disk is full, the disk is write protected, the transaction control file (BTRIEVE.TRN) that is created when you load Btrieve has been deleted or the transaction control file is flagged read only. 39: A Begin Transaction operation must precede an End/Abort Transaction operation. The application issued an End or Abort Transaction operation without a corresponding Begin Transaction operation. Make sure that each End or Abort Transaction operation in your program has a corresponding Begin Transaction operation. 40: The file access request exceeds the maximum number of files allowed. The application tried to access more than the maximum number of files allowed within a transaction. The maximum number of different files that can be accessed during a logical transaction is set when Btrieve is configured. NOTE: This status code applies only to Btrieve versions earlier than v6.x. 41: Btrieve does not allow the attempted operation. This status code is returned for one of the following reasons: o The application tried to perform an operation that is not allowed at this time. Btrieve does not allow some operations under certain operating conditions. For example, Btrieve returns this status code if the application attempts to perform a Step operation on a key-only file or a Get operation on a data-only file. o The key number parameter of a continuous operation call is not 0, 1, or 2. Also, Btrieve prohibits certain operations during transactions because they have too great an effect on the file or on BtrieveÕs performance. These operations include Set Owner, Clear Owner, Extend, Create Supplemental Index, and Drop Supplemental Index. 42: A file previously opened in Accelerated mode was not closed. Either the application tried to open a Btrieve v5.x file that was previously accessed in Accelerated mode by Btrieve v5.x and never successfully closed, or the application tried to open a file for which Btrieve v6.x encountered an unrecoverable error during a Set or Clear Owner operation. The file's integrity cannot be ensured. Either use the RECOVER command in the Btrieve Maintenance utility to build a new file or restore the file using the latest backup. 43: The specified record address is invalid. This status code is returned for one of the following reasons: o The record address specified for a Get Direct/Record operation is invalid. The address is outside the file's boundaries, it is not on a record boundary within a data page or on a data page, or the record at the specified address has been deleted. For a Get Direct/Record operation, specify the 4-byte address obtained by a Get Position operation. o When using Btrieve with NetWare and the files are Btrieve v5.x files, this error may indicate a file access conflict. For example, workstation 1 has a file locked in an exclusive transaction. Workstation 2 is reading records from the same file and tries to update a record that the transaction either inserted or updated. If workstation 2 reads the record and then workstation 1 aborts the transaction, workstation 2 receives this status code when issuing the Update operation. o For a Find Percentage operation that is seeking a percentage based on a recordÕs physical location within the file, the specified record address is invalid. o The file may be corrupt, and you must rebuild it. 44: The specified key path is invalid. The application tried to use the Get Direct/Record operation to establish an index path for a key whose value is null in the corresponding record. Btrieve cannot establish positioning based on a null key value. 45: The specified key flags are invalid. The key flags specification on a Create operation is inconsistent. If a key has multiple segments, the duplicate, modifiable, and null attributes should be the same for each segment in the key. Also, you cannot use the Null or Manual key attributes in a key-only file. This status code is also returned if an attempt is made to specify a different alternate collating sequence for two or more segments of a segmented key 46: Access to the requested file is denied. This status code is returned for one of the following reasons: o The application opened a file in read-only mode and tried to perform an Insert, Update, or Delete on that file. o An attempt was made to perform an Insert, Update, or Delete on a file that is flagged read-only to NetWare. o The owner name required for updates was not specified correctly when the file was opened. 47: The number of files opened exceeds the maximum allowed. The number of files opened in Accelerated mode exceeded the number of buffers available in BtrieveÕs cache. When a file is opened in Accelerated mode, Btrieve reserves one of its cache buffers for the file. Btrieve always reserves five empty buffers for index manipulation. In client-based Btrieve, you should reconfigure Btrieve with a smaller /P configuration option to allocate more buffers and a larger /M option. In server-based Btrieve, you will not encounter this error code. 48: The alternate collating sequence definition is invalid. The first byte of an alternate collating sequence definition (the identification byte) does not contain the hexadecimal value AC. Make sure that the first byte contains the proper value. 49: The extended key type is invalid. You tried to create a file or a supplemental index with an invalid extended key type, or you tried to assign an alternate collating sequence to a binary key or key segment. You can assign an alternate collating sequence only to a string, lstring, or zstring key type. This status code is also returned if you define a supplemental index requiring an alternate collating sequence, but no alternate collating sequence definition exists (either in the file or in the key definition passed in the data buffer). Another possibility is that you defined an alternate collating sequence with case insensitivity. These two definitions are incompatible. Only Btrieve v6.0 interprets this condition as an error. A final possibility is that you are attempting to create a Btrieve file that contains multiple alternate collating sequences but your server has a version of Btrieve loaded that predates v6.1. 50: The file owner is already set. The application tried to perform a Set Owner operation on a file that already has an owner. Use the Clear Owner operation to remove the previous owner before specifying a new one. 51: The owner name is invalid. The possible causes for this status code are as follows: o If the application received this status code after a Set Owner operation, the owner names specified in the key buffer and data buffer do not match. o If this status code occurred during an Open operation, the application attempted to open a file that has an owner name assigned to it. The application must specify the correct owner name in the data buffer. o If an NLM received this status code when dealing with a file in continuous operation mode, then the client ID of the calling NLM differs from the client ID of the application that originally put the file into continuous operation mode. 53: The language interface version is invalid. An application tried to access a file containing variable-length records with a language interface from Btrieve v3.15 or earlier. To access files with variable-length records, you must use a v4.x or later interface. 54: The variable-length portion of the record is corrupt. During a Get or Step operation, Btrieve cannot read all or part of the variable-length portion of a record. Btrieve returns as much data as possible to the application. This status code usually indicates one or more pages used to store variable length records is corrupt. Use BUTIL -RECOVER to recover as much data as possible. 55: The application specified an invalid attribute for an autoincrement key.The application tried to specify either the segmented or duplicate attribute for an autoincrement key type. An autoincrement key cannot be part of a segmented key and cannot allow duplicates. 56: An index is incomplete. An index can be damaged if a Create Index operation (31) or a Drop Index operation (32) is interrupted before it runs to completion. Perform a Drop Index operation to completely remove the damaged index from the file, and then rebuild the index with the Create Index operation, if so desired. 58: The compression buffer length is too short. The application tried to read or write a record that is longer than the value specified for the size of the compression buffer. Reconfigure Btrieve using the Setup utility, specifying a higher value for the Largest Compressed Record Size option. 59: The specified file already exists. This status code is returned for the Create operation if the application specified -1 in the key number parameter and the name of an existing file in the key buffer parameter. If you want to overwrite the existing file, remove the -1 from the key number parameter. If you want to preserve the existing file, alter the filename specified in the key buffer parameter. 60: The specified reject count has been reached. Btrieve rejected the number of records specified by the reject count before a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation found the requested number of records that satisfy the filtering condition. Check the first two bytes returned in the data buffer for the number of records that were retrieved. 61: The work space is too small. The Get Next Extended, Get Previous Extended, Step Next Extended, and Step Previous Extended operations use a buffer as work space. This status code indicates that the work space (set by default to 16 KB) is not large enough to hold the filtering data buffer structure and the largest record to be received. 62: The descriptor is incorrect. The descriptor (data buffer structure), which is passed for a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation, is incorrect. The descriptor length (the first two bytes of the data buffer) on the extended operation call must be the exact length of the descriptor. This requirement does not apply to the data buffer length option, which can still be declared longer than necessary. On a Get Direct/Chunk operation, the descriptor structure in the data buffer is incorrect, or it is inconsistent (either internally or in respect to the data buffer length). See the discussion of the Get Direct/Chunk operation in Chapter 4 of the Btrieve Programmer's Manual for information about the correct descriptor format. 63: The data buffer parameter specified on an Insert Extended operation is invalid. An Insert Extended operation provided an invalid buffer. Either the buffer length is less than 5 bytes, or the number of records specified is 0. Correct the buffer length or the number of records. 64: The filter limit has been reached. During a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation, a rejected record was reached; no other record can satisfy the given filtering condition, going in the direction that the operation specified. This is applicable only if the first segment of the key that the key number specified is also used as the first term of the filtering field. 65: The field offset is incorrect. The field offset in the extractor of a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation is invalid based on the length of the retrieved record. Make sure that the field offset is a valid value (from 0 through the record length minus 1). 66: The maximum number of open databases has been exceeded. The application has tried to open too many SQL databases configured for referential integrity checking at one time. The maximum number of databases that can be opened concurrently for referential integrity checking is a configurable startup option for Btrieve. The default is set to 20. Refer to your NetWare SQL documentation for more information on referential integrity. 67: Btrieve cannot open the SQL data dictionaries. This status code may indicate that an application opened a data file containing referential integrity definitions but Btrieve cannot open one of the NetWare SQL data dictionary files (FILE.DDF or RELATE.DDF) or the configuration file (DBNAMES.CFG). Be sure that DBNAMES.CFG is present in the SYS:SYSTEM directory, and that the FILE.DDF and RELATE.DDF files for that named database are placed in the dictionary location that the Setup utility defines. Refer to yo 68: Btrieve cannot perform the RI Delete Cascade operation. Btrieve cannot enforce the Delete Cascade rule on a file under referential integrity control because the record that the application attempted to delete has more than 16 levels of descendants. Delete records from the lower levels, and then try again to delete the record that the application was attempting to delete initially. Refer to your NetWare SQL documentation for more information on referential integrity. 69: The Delete operation cascades to a record in a file that is damaged. The application encountered an error while Btrieve was attempting to enforce the Delete Cascade rule in response to a Delete operation. This status code indicates that the related file has been damaged and must be recreated. Refer to your NetWare SQL documentation for more information on referential integrity and the Delete Cascade rule. 71: There is a violation of the RI definitions. If you have attempted an Insert operation on a file under referential integrity control, you may receive this status code if a foreign key value in the record to be inserted does not have a corresponding primary key in the referenced file. If you are performing an Update operation, there are two possible causes for this status code: o You are attempting to change the value of a primary key. o You are attempting to change the value of a foreign key to a value that does not exist for the defined primary key. If you have attempted a Delete operation, the Restrict rule is being enforced, and a primary key value in the record you are trying to delete references a foreign key in the referenced file. Refer to your NetWare SQL documentation for more information on referential integrity. 72: Btrieve cannot open the RI referenced file opened. The referenced file cannot be found at the location that FILE.DDF and DBNAMES.CFG specify. This status code is returned only on a first attempt to delete or insert in a file under referential integrity control, or on a first attempt to update when that operation would change a foreign key in the specified file. Be sure that the referenced file is in one of the data file locations that the Setup utility specified. Also, verify that the file location does not contain a drive letter. Refer to you NetWare SQL documentation for more information on referential integrity. 73: The RI definition is out of sync. You have attempted to open a file for which the referential integrity definition either disagrees with the definition in RELATE.DDF or refers to a database not found in DBNAMES.CFG. This status code can also occur on an Insert or Delete operation, or an Update operation that would change a foreign key. Run the NetWare SQL RIUTIL utility, and use the CHECK command. For information on the RIUTIL utility and on referential integrity, refer to your NetWare SQL documentation. 74: Btrieve aborted the transaction. This is an informative status code. Btrieve replaced an End Transaction operation with an Abort Transaction after detecting an error for a Transaction Tracking System (TTS) file inside the transaction. In addition, Btrieve executed the Abort Transaction operation. 76: There is a conflict on the referenced file. The application has attempted to perform an Update, Insert, or Delete operation on an RI-controlled file that references another file. The application cannot open the referenced file for referential integrity checking because it is already opened in Exclusive mode. Wait until the referenced file is closed or is opened in a mode other than Exclusive, and then retry the operation. Refer to your NetWare SQL documentation for more information on referential integrity. 77: The application encountered a wait error. Either a wait lock bias is specified for an operation but another user has locked the requested resource, or the application is currently processing a wait transaction and tried to access a file that another user has locked.When you are using the Btrieve Requester to access Btrieve, the Requester waits and retries if a requested resource is locked. When a server-based application, such as NetWare SQL, is accessing Btrieve and the requested resource is locked, a wait is also required. In this case, Btrieve would be expected to perform the wait. Since this would occupy Btrieve and lock out other users who might be trying to releas the requested resource, Btrieve does not perform the wait. Instead, it returns a Status Code 77, and the server-base application must retry later. 78: Btrieve detected a deadlock condition. The application should clear all resources (for example, by aborting or ending the transaction, or releasing all record locks) before proceeding. This breaks the deadlock, allowing other applications to access the resources for which they are waiting. 79: A programming error occurred. Although very rare, it is possible to receive this status code when there is a malfunction that Btrieve cannot specifically detect or from which Btrieve cannot recover. Retry the operation again. If the error persists, there may be a system corruption; try to clear the system by restarting, and then try the operation again. 80: The application encountered a record-level conflict. Btrieve did not perform the Update or Delete operation because of a record-level conflict. For example, station A reads a record, station B reads the same record and updates it, and then station A attempts to update the record. The application should reread the record prior to resending an Update or Delete operation. 81: The application encountered a lock error. This status code can result from one of the following conditions: o The Btrieve lock table is full. Decrease the number of locks that the application uses, or use the Setup utility to specify a higher value for the Number of Locks option. o The application tried to unlock one record that is locked with a multiple record lock, but the record position stored in the data buffer does not correspond to any any record locked in the associated file. o The application tried to unlock a single-record lock with a multiple-record lock or vice-versa. 82: The application lost positioning.When performing a Get Next or Get Previous operation on a key with duplicates, the application tried to retrieve a record that was deleted or whose key value was modified by another application. Use a Get Equal or a Get Direct/Record operation to reestablish positioning. 83: The application attempted to change a record that was read outside the transaction.The application tried to update or delete a record within a transaction, but the record was not read within the transaction. The application must read the record within the transaction before attempting to modify the data. 84: The record is locked. The application tried to apply a nowait lock on a record that is currently locked by another application, or the application tried to access a file in a nowait transaction while another application holds an active record lock(s) in that file. This status code can also occur if the application tried to update or delete a record locked by another application.The application can use either of the following recovery methods: o Retry the operation until it is successful. Under light-to- moderate network use, this may be the simplest and quickest solution. o Use the wait option (+100/+300) instead of the nowait option. Btrieve may return this status code on an Insert operation when it attempts to lock an index page to update the key value specified for a newly inserted record. If another user has already locked the record in question, then Btrieve returns a Status Code 84 when it attempts to update the key value. Have your application check for this status code and retry the operation if the status code is returned. 85: The file is locked. Any of the following can cause this status code to occur: o Client-based Btrieve has a file open, and another workstation that has the Requester loaded tries to open the same file. Btrieve cannot open the file since it cannot obtain exclusive access. The workstation that has the Requester loaded receives Status Code 85. o Another workstation has the Requester loaded and has a file open, and client-based Btrieve tries to open the same file. o A file is in transition into continuous operation mode. A retry will eventually work.u While one user has a file locked in an exclusive transaction, another user attempts to lock all or part of that file. o A user has two Btrieve files with the same filename but different extensions (for example, INVOICE.HDR and INVOICE.DET). One file is open and in continuous operation mode, causing Btrieve to generate a delta file (for example, INVOICE.^^^). Btrieve returns Status Code 85 if the user attempts to open the second file. 86: The file table is full. Using the Setup utility, specify a higher value for the Number of Open Files configuration option. For more information, refer to Chapter 3, "Installing and Configuring Btrieve." 87: The handle table is full. This status code is applicable only in the server-based Btrieve environment. Using the Setup utility, specify a higher value for the Number of Handles configuration option. For more information, refer to Chapter 3, "Installing and Configuring Btrieve." 88: The application encountered an incompatible mode error.When you are using continuous operation, this status code can indicate any of the following: o You have attempted to remove a file from continuous operation, but the file is not in continuous state. o You have attempted to include two files that have the same name but different extensions in continuous operation. o You have attempted to include a file in continuous operation, but the file is already in a continuous state. o If an application opens a file in Exclusive mode, all other applications get this status code when they try to open the same file in any mode. o If an application opens a file in any mode other than Exclusive, all other applications get this status code when they try to open the same file in Exclusive mode. 91: The application encountered a server error. You can receive this status code in the following situations: o The Requester cannot establish a session with the server. Either Btrieve is not loaded or the server is not active. o The setting for the Number of Remote Sessions configuration option is too low. Return to the Setup utility and specify a higher value for this option. o An application specified a path for a file and did not include the volume name in the path. 92: The transaction table is full. The maximum number of active transactions was exceeded. Using the Setup utility, specify a higher value for the Number of Transactions configuration option. For more information, refer to Chapter 3, "Installing and Configuring Btrieve." 93: The record lock types are incompatible. The application tried to mix single-record locks (+100/+200) and multiple-record locks (+300/+400) in the same file at the same time. All locks of one type must be released before a lock of the other type can be executed. 94: The application encountered a permission error. You can receive this status code in the following situations: o The application tried to open or create a file in a directory without the proper privileges. Btrieve does not override the network privileges assigned to users. o The designated server is in the server routing table, but your particular workstation is not logged into that server. o Served-based BREQUEST and client-based Btrieve are trying to access the same file at the same time. o Btrieve was unable to log in to the NetWare Runtime server using the given username. The user either does not exist on the Runtime server or does not have the appropriate rights to open or create a file. 95: The session is no longer valid. The previously established session is no longer active due to an error at the workstation, at the file server, or on the network. Verify that the workstation is still attached to the server, and then unload and reload the Btrieve Requester as discussed in "DOS Requester" in Chapter 4. This status code can also indicate that the maximum number of sessions for Btrieve has been reached. Use the Communication Statistics option of the Btrieve Monitor utility to see if the maximum number of sessions has been reached. If so, use the Setup utiity to specify a higher value for the Number of Remote Sessions configuratin option. For more information, refer to Chapter 3, "Installing and Configuring Btrieve." 96: A communications environment error occurred. You tried to attach to Btrieve on a server but the SPX connection table or the Btrieve client table is full. Use the Setup utility to specify a higher value for the Number of Remote Sessions configuration option. For more information, refer to Chapter 3, "Installing and Configuring Btrieve." When this status is returned to an NLM application, verify that all clients are being properly reset. 97: The communications buffer is too small. The application tried to read or write a record that is longer than the current settings for Btrieve or the Btrieve Requester allow, as follows: o For an Update, Insert, or Create operation, the application receives this status code if the data buffer length it specifies for the record exceeds Btrieve's internal communications buffer length. o For a Get, Step, or Stat operation, the application receives this status code if Btrieve's internal communications buffer is shorter than the length of the data Btrieve would return, regardless of the data buffer length specified in the application. o For a Get Chunk or Update Chunk operation, the total size of the retrieved or updated chunk exceeds Btrieve's internal communications buffer length. Btrieve calculates the length of its communications buffer using as a base the values of the Largest Record Size option (from the Setup utility) and the Data Message Length (/D) option (specified when the Btrieve Requester and/or BSPXCOM was loaded).To increase the size of the communications buffer, use the Setup utility to specify a higher value for the Largest Record Size option. Then, reload the Btrieve Requester, and specify a higher value for the Data Message Length (/D) option. For more information, refer to Chapter 3, "Installing and Configuring Btrieve." 98: Btrieve detected an internal transaction error. Btrieve detected an error while executing the operation on a NetWare TTS file. The application can perform only an Abort Transaction operation at this point. 99: The Requester cannot access the NetWare Runtime server. The DOS Requester returns this status code when NetWare Runtime server support is enabled (/C:1) and the Requester either detects no existing connection or cannot find a valid login username. If the Requester cannot find a login username other than SUPERVISOR, there is no valid name to pass. 100: No cache buffers are available.Btrieve has used all the cache buffers it allocated at load time. Using the Setup utility, you can increase the value for the Cache Allocation configuration option. Alternatively, you can change the Number of Remote Sessions configuration option to decrease the number of concurrent Btrieve users. For more information, refer to Chapter 3, "Installing and Configuring Btrieve." 101: Insufficient operating system memory is available. There is not enough operating system memory available to perform the requested operation. Decrease the value for the Cache Allocation configuration option (using the Setup utility), decrease the number of concurrent Btrieve users (using the Number of Remote Sessions configuration option in the Setup utility), or add memory to the server. For more information on the configuration options, refer to Chapter 3, "Installing and Configuring Btrieve." 102: Insufficient stack space is available. Btrieve has run out of stack space. To increase the amount of stack space available to your application, relink the application, setting the stack size to a higher value. Only the NLM applications calling Btrieve on the local server get this message. 103: The chunk offset is too big. A Get Direct/Chunk operation has specified an offset beyond the end of the record, either explicitly or through the use of the next-in-record bias to the subfunction value. Unless Btrieve returns this status while processing the first chunk, the operation was partially successful. Check the data buffer length parameter immediately after the call to see how much data (and therefore how many chunks) Btrieve retrieved. This code can also be returned by the Update Chunk operation when the speciied offset is more than one byte beyond the end of the record. However, in this situation, Status code 103 indicates that Btrieve made no changes to the record. 104: The locale information could not be found. The Create or Create Index function returns this status code to indicate that the operating system was not able to return a collation table for the country ID and code page specified. Check that the application specified the locale's country ID and code page correctly and that the operating system is configured to support the country ID and code page. 105: The file cannot be created with Variable-tail Allocation Tables-(VATs). The application specified that a Btrieve file should be created with Variable-tail Allocation Tables (VATs); however, the application failed to specify that the file was to use variable-length records (a precondition for files to use VATs). This status applies to key-only files as well as regular data files. 106: The operation cannot get the next chunk. The application called the Get Direct/Chunk operation to retrieve a chunk from a record and used the next-in-record bias on the descriptor subfunction. However, after the application established its positioning in the record (but prior to this call), the target record was deleted. 107: Chunk updates/retrievals cannot be performed on the file. The application tried to use either a Get Direct/Chunk operation or an Update Chunk operation on a pre-v6.0 formatted file. Client-Based Btrieve for OS/2 and Windows Status Codes Client-based Btrieve may return the following status codes in an OS/2 or Windows environment. 1001: The Multiple Locks option is out of range. The number specified for the Multiple Locks configuration option must be between 1 and 255, inclusive. 1002: Btrieve cannot allocate the memory needed. Make sure that the workstation has enough memory to load all the programs it requires. 1003: The Memory Size is too small. Make sure the value for the Memory Size configuration option is large enough to accommodate the required cache size. 1004: The Page Size option is out of range. The value of the Page Size configuration option must be an even multiple of 512, and it must be between 512 and 4,096, inclusive. 1005: The Pre-Image File Drive option is invalid. You must specify a valid drive letter for the Pre-Image File Drive configuration option. NOTE: Pre-image files are used only for files created by Btrieve versions earlier than v6.x, or by v6.x if it was loaded with the Create Btrieve Files in Pre v6.x Format configuration option set to Yes 1006: The Pre-Image Buffer Size option is out of range. The Pre-Image Buffer Size configuration option must be between 1 and 64, inclusive. NOTE: Pre-image files are used only for files created by Btrieve versions earlier than v6x, or by v6.x if it was loaded with the Create Btrieve Files in Pre v6.x Format configuration option set to Yes. 1007: The Open Files option is out of range. The Open Files configuration option must be between 1 and 255, inclusive. 1008: The Configuration options are invalid. The configuration options specified contain invalid or unidentifiable values. For more information on configuration options, refer to the installation and operation manual for your operating environment. 1009: The Transaction Filename option is invalid. The filename specified for the Transaction Filename configuration option is not valid. Check to make sure that the transaction filename is correct. 1011: The Compression Buffer Size specified is out of range. The Compression Buffer Size configuration option must be between 1 and 64, inclusive. 1013: The task table is full (Windows only). The Btrieve DLL may return this status code if the task entry table is full. You can remedy this situation by increasing the number of available task entries; use the tasks initialization option (tasks=xxx) under the [BTRIEVE] or [BREQUESTDPMI] headings in NOVDB.INI. The minimum value for this option is 1; the maximum value is 255. 1014: The application encountered a stop warning. WBTRVSTOP ( ) returns this status code if the application still has open files or an active transaction. The application must close all files and end all transactions before calling WBTRVSTOP ( ). 1015: A pointer parameter is invalid. One of the pointer parameters passed into Btrieve is invalid. 1016: Btrieve is already initialized. The Btrieve DLL may return this status code if an attempt is made to initialize Btrieve when it is already initialized. To reinitialize Btrieve, close all files, end/abort all transactions, and call WBTRVSTOP ( ) before calling the initialization function. 1017: The resource file WBTRVRES.DLL cannot be found. The WBTRCALL.DLL returns this status code when it cannot find the resource file WBTRVRES.DLL. You can remedy this situation by placing a copy of the WBTRVRES.DLL file in the same directory as the WBTRCALL.DLL file. Btrieve Requester Status Codes This section lists the status codes that the Btrieve Requesters may generate. 2001: The memory allocation is insufficient. In an OS/2 environment, the Requester cannot allocate enough memory for the parameters specified with the BRQPARMS environment variable. In a DOS environment, reduce the value specified for the /D configuration option. 2002: The option is invalid or out of range. In an OS/2 environment, either one of the options specified with the BRQPARMS environment variable is invalid (such as /P instead of /D) or the value specified for a parameter is out of range. Check the SET BRQPARMS statement to make sure it is correct. 2003: The Requester does not allow local access to the specified file. The application attempted to access a file stored on a local drive. The version of WBTRCALL.DLL installed at the workstation does not allow access to local files. 2004: SPX is not installed. Install the NetWare SPX v1.3 or later communications software for OS/2. 2005: An incorrect version of SPX is installed. Install the NetWare SPX v1.3 or later communications software for OS/2. 2006: There is no available SPX connection. SPX has already established the maximum number of sessions it can handle. To increase the maximum, edit the NET.CFG file. Refer to your NetWare documentation for more information on NET.CFG. 2007: A pointer parameter is invalid. One of the pointer parameters passed to Btrieve is invalid. Check the program to ensure that the pointer parameters are correct. Messages This section lists and describes the messages that Btrieve v6.1 can return. The following conventions are used in the descriptions of the messages: nn or xx refers to a software-supplied number (for example, a status code, operation code, or number of records) and xxxx refers to a software-supplied name (for example, a filename, a key type, or a command). Consult the screen message to get the value for nn, xx, or xxxx. Btrieve NLM and Requester Messages The messages in this section are sent by the Btrieve NLM and the Btrieve DOS Requester. The messges from the Btrieve NLM re listed first. BTRIEVE-6.1-1: The value specified for the Cache Allocation option is invalid. The Btrieve NLM returns this message when the value specified for the Cache Allocation option is invalid. Use the Setup utility and specify a value between 32 through 64,000 for this option. BTRIEVE-6.1-2: The value specified for the Largest Compressed Record Size option is invalid. The Btrieve NLM returns this message when the value specified for the Largest Compressed Record Size option is invalid. Return to the Setup utility and specify a valid value for the Largest Compressed Record Size option. BTRIEVE-6.1-4: The value specified for the Number of Open Files option is invalid. The Btrieve NLM returns this message when the value specified for the Number of Open Files option is invalid. Use the Setup utility and specify a value between 1 and 64,000 for this option. BTRIEVE-6.1-7: The value specified for the Number of Handles option is invalid. The Btrieve NLM returns this message when the value specified for the Number of File Handles option is invalid. Use the Setup utility and specify a value between 1 and 64,000 for this option. BTRIEVE-6.1-9: The value specified for the Number of Remote Sessions option is invalid. The Btrieve NLM returns this message when the value specified for the Number of Remote Sessions option is invalid. Use the Setup utility and specify a value between 1 and 64,000 for this option. BTRIEVE-6.1-12: The value specified for the Ðoption option is invalid. The Btrieve NLM returns this message when the value for an option is not valid. Return to the BSTART.NCF file and enter the correct value. BTRIEVE-6.1-13: The option specified is not a valid option.The Btrieve NLM returns this message when the option specified is not a valid option. Return to the BSTART.NCF file and remove the invalid option BTRIEVE-6.1-14: Continuous operation is active on one or more files. Roll-in could not be completed. Please free some disk space if you wish to end continuous operation before unloading the BTRIEVE NLM. The Btrieve NLM returns this message when the server has insufficient disk space to allow Btrieve to complete the roll in. Free some disk space in order to end continuous operation and unload the Btrieve NLM. BTRIEVE-6.1-16: The server has insufficient memory to complete the operation. The Btrieve NLM returns this message when the server has insufficient memory to allow Btrieve to load as it is configured. Use the Setup utility to reconfigure Btrieve to use less memory, or unload any unnecessary NLMs. BTRIEVE-6.1-17: The header in log file xxxx is invalid.The Btrieve NLM returns this message when the header in log file xxxx is invalid. The file xxxx is expected to be a log file according to BLOG.CFG but it is not. If you receive this message, either delete file xxxx and create a new log file, or change BLOG.CFG to specify a different log file. BTRIEVE-6.1-18: The log file xxxx cannot be created in the location specified. The Btrieve NLM returns this message when log file xxxx cannot be created in the location specified. Check that the disk is not full and that the user has rights to create and write to lof file xxxx. BTRIEVE-6.1-19: Logging is not active for file xxxx; check the file specification in BLOG.CFG. The Btrieve NLM returns this message when logging is not active for the file xxxx; check the file specification in BLOG.CFG. This message is always displayed with the "Invalid Header in Log File xxxx" message or the "Unable to Create Log File xxxx" message. BTRIEVE-6.1-20: The log file xxxx cannot be written. Check disk space. The Btrieve NLM returns this message when log file xxxx cannot be written. Check the disk space. If the disk is full, free some space by deleting any unnecessary files. BTRIEVE-6.1-21: Logging has stopped for file xxxx. The Btrieve NLM returns this message when logging has stopped for file xxxx. The log file xxxx cannot be written. Check the disk space. If the disk is full, free some space by deleting unnecessary files. BTRIEVE-6.1-22: Files have been found in continuous operation; files in continuous operation are being rolled in. The Btrieve NLM returns this message when files have been found in continuous operation; files in continuous operation are being rolled in (updated) BTRIEVE-6.1-23: Files have been found in continuous operation; an error was detected while rolling in these files. The Btrieve NLM detected files in continuous operation; an error was detected while rolling in (updating) these files. Check to see if the disk is full or if any other disk problems exist BTRIEVE-6.1-24: Files have been found in continuous operation; these files have been successfully rolled in. The Btrieve NLM detected files in continuous operation; these files have been successfully rolled in (updated). BTRIEVE-6.1-25: The file xxxx is rolling back. The Btrieve NLM returns this message when the file xxxx is rolling back. (Rolling back refers to aborting a transaction and undoing all changes made to the database during the transaction, thus restoring the database to the state it was in before the transaction began.) BTRIEVE-6.1-26: The transaction roll back cannot be completed. Check the memory available on the server. The Btrieve NLM returns this message when it is rolling back the transaction but the transaction roll back cannot be completed. (Rolling back refers to aborting a transaction and undoing all changes made to the database during the transaction, thus restoring the database to the state it was before the transaction began.) Check the memory available on the server. Free memory by unloading NLMs or reconfiguring NLMs to use less memory. BTRIEVE-6.1-27: The transaction control file cannot be created. The Btrieve NLM returns this message when the transaction control file (BTRIEVE.TRN) cannot be created. Btrieve was unable to open or create SYS:SYSTEM/BTRIEVE.TRN. Make sure that no user has that file open. Btrieve Requester Messages The following messages are sent by the Btrieve DOS Requester (BREQUEST.EXE). BREQUEST-6.1-1: The message file xxxx is invalid; BREQUEST cannot be loaded. The Btrieve Requester returns this message when the message file is invalid. Specify a valid message file so that BREQUEST.EXE can be loaded. BREQUEST-6.1-3: The option specified is not a valid option. The Btrieve Requester returns this message when the option specified is not a valid option. Specify a valid option. BREQUEST-6.1-4: The value specified for the Data Message Length (/d) option is invalid. The Btrieve Requester returns this message when the value specified for the Data Message Length (/D) option is invalid. Specify the /D option as /D:n, where n is an integer. BREQUEST-6.1-5: The workstation has insufficient memory to load BREQUEST. The Btrieve Requester returns this message when the workstation has insufficient memory to load the Requester. Unload unnecessary programs or try a smaller value for the /D option. BREQUESTÐ6.1Ð6: BREQUEST is already loaded.The Btrieve Requester returns this informational message to indicate that BREQUEST.EXE is already loaded. BREQUEST-6.1-7: XQL or NSREQ is already loaded; BREQUEST must be loaded first. The Btrieve Requester returns this message when XQL or NSREQ is already loaded; the DOS Requester must be loaded first. Unload XQL or NSREQ and then load the DOS Requester. BREQUEST-6.1-8: DOS 2.00 or greater is not loaded; load DOS 2.00 or greater. The Btrieve Requester returns this message. DOS v2.x or later is not loaded; you must load DOS v2.x or later to proceed. BREQUEST-6.1-9: The SPX.COM file is not loaded; load the file SPX.COM. The Btrieve Requester returns this message when the file SPX.COM is not loaded. Load SPX.COM. BREQUEST-6.1-10: The function SPXInitialize returned an error. Make sure the file IPX.COM is loaded. The Btrieve Requester returns this message when the SPXInitialize function encounters an error. You must make sure that the file IPX.COM is loaded. BREQUEST-6.1-11: The IPX socket table is full. The Btrieve Requester returns this message when the IPX socket table is full. BREQUEST-6.1-13: The value specified for the Runtime server support (/C) option is invalid. The Btrieve Requester returns this message when an invalid value is specified for the NetWare Runtime Server Support option (/C). Specify this option in one of these forms: /C:0 To disable NetWare Runtime server support. /C:1 To enable NetWare Runtime server support.To authenticate requests on the NetWare Runtime server, provide a username and password, separating them with commas, as follows: /C:1,username,password For more information about this option, see Chapter 4, "Configuring and Using the Requesters." Btrieve Communications Modules This section includes messages sent by the Btrieve Message Router (BROUTER.NLM) and the Btrieve SPX communications module (BSPXCOM.NLM).Btrieve Message Router MessagesThe following messages are sent by BROUTER. BROUTER-6.1-1: The server has insufficient memory to execute BROUTER. BROUTER returns this message when the server has insufficient memory to load the file BROUTER.NLM. Free some memory by unloading NLMs or reconfiguring NLMs to use less memory. BROUTER-6.1-2: The value specified for a configuration option is invalid.BROUTER returns this message when the value specified for a configuration option is invalid. Reload BROUTER.NLM using valid options BROUTER-6.1-3: An internal error has occurred; the SPXOpenSocket function failed. BROUTER returns this message if an internal diagnostic error occurs. The SPXOpenSocket function failed. Another NLM may be using the socket number reserved for BROUTER. If you receive this message, unload all other NLMs and then load BTRIEVE.NLM and BROUTER.NLM. Finally, reload the other NLMs. This process reveals the NLM that is using BROUTER's socket number. BROUTER-6.1-6: BROUTER is loaded. BROUTER returns this message to indicate that BROUTER.NLM is now loaded. Btrieve SPX Communications Messages The following messages are sent by the Btrieve SPX communications module (BSPXCOM.NLM). BSPXCOM-6.1-1: The option specified is not a valid option. The Btrieve SPX communications module returns this message when the option specified is not a valid option. Specify a valid option. BSPXCOM-6.1-2: The server has insufficient memory to execute BSPXCOM. The Btrieve SPX communications module returns this message if the server has insufficient memory to load the file BSPXOM.NLM. If you receive this message, you must free memory by unloading NLMs or reconfiguring NLMs to use less memory. BSPXCOM-6.1-3: An internal error has occurred. BSPXCOM detected a semaphore allocation failure. The Btrieve SPX communications module returns this message when an internal diagnostic error occurs. BSPXCOM detected a semaphore allocation failure. BSPXCOM-6.1-4: The Service Request Block (SRB) function code nn contains invalid data. Check for an incompatible version of the file BSPXCOM.NLM. The Btrieve SPX communications module returns this message if the Service Request Block (SRB) function code contains invalid data. Check that BSPXCOM's version is compatible with the version number of the workstation's Btrieve Requester. BSPXCOM-6.1-6: An internal error has occurred. The session was not found in ConnTable. The Btrieve SPX communications module returns this message when an internal diagnostic error occurs. The session was not found in ConnTable. BSPXCOM-6.1-7: Another NLM is using the socket number reserved for BSPXCOM. The Btrieve SPX communications module detected another NLM using the socket number reserved for BSPXCOM. Unload all other NLMs and then load BTRIEVE.NLM and BSPXCOM.NLM. Finally, reload the other NLMs. This process reveals the NLM that is using BSPXCOM's socket number. BSPXCOM-6.1-8: An SPX-level receive I/O error (hexadecimal code nn) has occurred. The connection has been lost. The Btrieve SPX communications module returns this message when an SPX-level receive I/O error occurs. The connection has been lost. BSPXCOM-6.1-9: An SPX-level send I/O error (hexadecimal code nn) has occurred. The connection has been lost. The Btrieve SPX communications module returns this message when an SPX-level send I/O error occurs. The connection has been lost. BSPXCOM-6.1-10: An internal error (hexadecimal code nn) has occurred. BSPXCOM detected a Dequeue error. The Btrieve SPX communications module returns this message when an internal diagnostic error (a dequeue error) occurs. BSPXCOM-6.1-11: Bad connection ID detected on receive. The SPX connection was lost after the initial request began. The Btrieve SPX communications module detected a bad connection ID on a receive. The SPX connection was lost after the initial request began. No action is needed if this message appears occasionally when you restart your workstation. However, if this message appears frequently when you have not restarted your workstation, you must increase your workstation's SPX Timeout parameter. Also, BSPXCOM-6.1-12: Bad connection ID detected on send. The SPX connection was lost after the initial request began. The Btrieve SPX communications module returns this message when it detects a bad connection ID on a send. The SPX connection was lost after the initial request began. No action is needed if this message appears occasionally when you reboot your workstation. However, if this message appears frequently when you have not restarted your workstation, you must increase your workstation's SPX Timeout parameter. Also, youcan checkf or NLMs monopolizing the CPU time or for a hardware failure. BSPXCOM-6.1-13: An error (hexadecimal code nn) was detected while trying to establish an SPX session requested by a remote workstation. The Btrieve SPX communications module detected an internal diagnostic error while it was trying to establish an SPX connection requested by a remote workstation. BSPXCOM-6.1-15: The request for statistics from the Btrieve Monitor utility was not recognized. Check for an incompatible version of the utility or BSPXCOM. The Btrieve SPX communications module returns this message if the request for statistics from the Btrieve Monitor utility was not recognized. Check for an incompatible version of the utility or BSPXCOM. BSPXCOM-6.1-16: The session was rejected; the session limit was reached. Increase the value specified for the Number of Remote Sessions option. The Btrieve SPX communications module returns this message to indicate the session was rejected because the session limit was reached. Increase the value specified for the Number of Remote Sessions configuration option. Unload and then reload BSPXCOM.NLM so that the new value can be used. (For more information about this option, refer to Chapter 3, "Installing and Configuring Btrieve." BSPXCOM-6.1-17: An internal error has occurred. BSPXCOM did not recognize the GET_EIM_STATS function. The Btrieve SPX communications module returns this message when an internal diagnostic error occurs. BSPXCOM did not recognize the GET_EIM_STATS function. Check to see if the version of BSPXCOM is compatible with that of the Btrieve Monitor utility (BTRMON.NLM). Btrieve Utilities This section includes messages sent by the Btrieve Maintenance, Monitor, Rebuild, Requester, Roll Forward, and Setup utilities. Maintenance Utility Messages BUTIL-6.10-1: The keyword compression is no longer supported. Use truncate. The compress keyword is no longer used in description files. However, you may reduce the file size for files that contain variable-length records by specifying y for the truncate keyword. The truncate keyword has no effect unless the file contains variable-length records. BUTIL-6.10-2: An error occurred while BUTIL was accessing the description file. The Maintenance utility returns this message when an error occurs during access of a description file. Make sure the file has not been corrupted and that the information it contains is properly formatted BUTIL-6.10-6: The BUTIL command is invalid. The Maintenance utility returns this message when the syntax of the command you entered is incorrect. Verify the syntax before reentering the command. BUTIL-6.10-8: The command completed, but one or more errors occurred. An error occurred when you executed a command that performed a number of Btrieve operations. These commands include COPY, LOAD, or CLONE. This message is accompanied by additional messages that can help you identify the problem. BUTIL-6.10-9: The command did not complete due to an unrecoverable error. The Maintenance utility returns this message when the command you entered did not complete successfully due to an unrecoverable error. Verify that the syntax you entered is correct before reentering the command. This message is accompanied by additional messages that can help you identify the problem. BUTIL-6.10-10: The command line contains a syntax error. The Maintenance utility returns this message when the syntax of the command you entered is incorrect. Verify the syntax before reentering the command BUTIL-6.10-11: The command line requires the index file. If you specify the BUTIL -INDEX or -SAVE command (modified by the Y parameter) to the Btrieve Maintenance utility, you must specify the full pathname of an external index file BUTIL-6.10-12: The command line requires the key number. If you specify the DROP command or the SAVE command (modified by the N parameter) to the Btrieve Maintenance utility, you must specify the key number of the key you want to drop or by which you want to save the Btrieve file. BUTIL-6.10-13: The key size for key of type xxxx is invalid. The Maintenance utility returns this message when you specify an invalid key size for the key type. In a description file, the specified value of the Key Length element for a particular key is incorrect. Make sure that the value of each Key Length element is appropriate for the matching Key Type element. BUTIL-6.10-14: The key type is invalid. The Maintenance utility returns this message when you specify an invalid key type. In a description file, the type specified for one of the keys is invalid. Make sure that all the Key Type elements in the file are assigned a valid type. BUTIL-6.10-15: The key segment descriptor value nn is invalid for a manual or null key.The Maintenance utility returns this message when you specify an invalid value for the key segment descriptor. The value for the key segment descriptor can be any hexadecimal value from 00 to FF. An example of an invalid value is GL. BUTIL-6.10-16: BUTIL could not open the description file. The Maintenance utility cannot open the description file. Before attempting to reenter the CREATE, INDEX, or SINDEX commands, make sure that the file exists and that you specify the correct full pathname. BUTIL-6.10-18: An error occurred during access of the sequential file. The Maintenance utility returns this message when an error occurs during access of a sequential file. Check to see if the Btrieve source file is valid. BUTIL-6.10-19: BUTIL could not open the alternate collating sequence file. The Maintenance utility cannot open the alternate collating sequence file that you specified in a description file. Make sure the Alternate Collating Sequence Filename element in the description file is assigned a valid pathname. BUTIL-6.10-20: An error occurred during access of the alternate collating sequence file. An error occurred when the Maintenance utility accessed the alternate collating sequence file. Make sure the information in the alternate collating sequence file is formatted correctly. BUTIL-6.10-21: The file version is earlier than 6.0. The Maintenance utility returns this message when the RECOVER command cannot recover data from a Btrieve v5.x file, or the SALVAGE command cannot repair or salvage a Btrieve v5.x file. BUTIL-6.10-23: The /D parameter specified to the Requester was too small for BUTIL to receive the entire record. BUTIL is writing only nn bytes. The Maintenance utility is writing only as many bytes as the value of the /D option allows. If you want the utility to write all the bytes in the record, specify a value for the /D option that is at least as large as the affected record. BUTIL-6.10-25: The /D parameter specified to BUTIL was too small for BUTIL to receive any part of the record. The Maintenance utility returns this message when you specify an invalid value for the /D option. Return to the Setup utility and increase the value specified for the Largest Record Size configuration option BUTIL-6.10-26: The data buffer is too small to hold any part of the record. Btrieve cannot return any data in the data buffer because the data buffer is too small to hold it. Return to the Setup utility and increase the value specified for the Largest Record Size configuration option. BUTIL-6.10-27: An error occurred during the access of the variable page. BUTIL is writing the obtainable portion of the variable page. The Maintenance utility returns this message when an error occurs during the recovery of a file with variable-length records. The file has been corrupted BUTIL-6.10-30: The key position cannot exceed the record length. The Maintenance utility returns this message when the range of the key position you specified is invalid. The key position you specify on a Btrieve call must be within the range of the recordÕs length. For example, for a record that is 100 bytes long, a key position of 50 is within the correct range. However, a key position of 150 is not. BUTIL-6.10-31: The key position plus key length cannot exceed the record length. The Maintenance utility returns this message when the range of the key position you specified is invalid. The key position of a key plus its length cannot be larger than the rcord length. Verify that the key is defined so that its position plus its length does not exceed the record length. BUTIL-6.10-32: The key length must be an even number for key type xxxx. The Maintenance utility returns this message when you specified an invalid key length for the key type. Some key types must contain an even number of bytes. Respecify the Key Length element correctly BUTIL-6.10-36: The page size must be a multiple of 512, from 512 to 4,096. The Maintenance utility returns this message if the page size you specified is not a multiple of 512, from 512 to 4,096. Specify an appropriate page size. BUTIL-6.10-37: The record length cannot exceed the page size. The Maintenance utility returns this message if the record length you specified is invalid. In the description file, the record length you specified for the Record Length element is larger than the page size you specified for the Page Size element. Specify a record length that is smaller than the page size or increase the page size. BUTIL-6.10-38: The record length must be at least 4 and no greater than 4,096. The Maintenance utility returns this message if the record length you specified is invalid. Specify a record length between 4 and 4,096 (inclusive) for Btrieve v5.x, or between 4 and 4,088 for Btrieve v6.x. BUTIL-6.10-41: The alternate collating sequence cannot be found.The Maintenance utility cannot find the alternate collating sequence file you specified in the definition file. Verify that the alternate collating sequence file exists and that the name is correct in the definition file. BUTIL-6.10-43: The file exists, but the Replace option was not specified. The Maintenance utility did not create a file when you specified the BUTIL ÐCREATE command because the file already exists. To recreate this file, specify the Replace Existing File element in the description file as y BUTIL-6.10-44: The file access error nn occurred for file xxxx.The Maintenance utility returns the appropriate status code and filename for a file on which a file access error occurred during the beginning or end of continuous operation. The corrective measure depends on the status code received. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. BUTIL-6.10-45: The number of duplicate keys must be between 1 and 119. The number of duplicate keys you specified is invalid. Check the value specified for the Duplicate Key element in the description file. BUTIL-6.10-47: BUTIL cannot open the command file. The Maintenance utility returns this message when it cannot open the specified command file. Make sure the command file exists and that you specified the command file location and filename correctly. BUTIL-6.10-48: The command file is empty. The Maintenance utility returns this message if the command file you specified does not contain characters. Specify the desired commands in the command file before attempting to use the command file again. In addition, make sure you specified the correct command filename. BUTIL-6.10-49: The command file exceeds 1,000 bytes. A command file cannot contain more than 1000 bytes. Verify that the command file adheres to this requirement. BUTIL-6.10-50: An internal error caused BUTIL to terminate. The Maintenance utility detected an internal diagnostic error that caused it to terminate. BUTIL-6.10-52: Btrieve cannot be stopped when NetWare SQL is loaded. The Maintenance utility returns this message when you attempt to unload Btrieve while NetWare SQL is loaded. Unload NetWare SQL before attempting to unload Btrieve again. BUTIL-6.10-53: Btrieve error nn occurred for file or command xxxx. The Maintenance utility returns a status code related to a particular file or command. The corrective measure depends on the status code received. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. BUTIL-6.10-56: BUTIL is processing source file record nn. This is an informational message from the Maintenance utility. No action is required. BUTIL-6.10-57: BUTIL has copied nn records so far. The Maintenance utility copied the stated number of records since you issued the BUTIL -COPY command. After you receive this message, the command is still executing. BUTIL-6.10-58: BUTIL copied nn records. The Maintenance utility copied the stated number of records after you issued the BUTIL -COPY command. This is the total number of records BUTIL copied while the command executed. BUTIL-6.10-59: BUTIL read nn records. This is an informational message from the Maintenance utility. No action is required. When you issue a BUTIL -RECOVER command, the utility reads records in physical order from the specified file. When you issue a BUTIL -SAVE command, the utility reads records from the specified file using an index path. BUTIL-6.10-60: The end of the file occurred while BUTIL was expecting keyword xxxx on key segment descriptor nn. While the Maintenance utility was creating a file, it found a syntax error in the description file. Check the syntax of the description file. BUTIL-6.10-61: The end of the file occurred while BUTIL was expecting keyword xxxx. While the Maintenance utility was creating a file, it found a syntax error in the description file. Check the syntax of the description file. BUTIL-6.10-62: BUTIL was expecting keyword xxxx on key segment descriptor nn. While the Maintenance utility was creating a file, it found a syntax error in the description file. Check the syntax of the description file. BUTIL-6.10-63: BUTIL was expecting keyword xxxx. While the Maintenance utility was creating a file, it found a syntax error in the description file. Check the syntax of the description file. BUTIL-6.10-64: nn records have been indexed. This is an informational message from the utility. The utility displays the number of records that were indexed since you issued the BUTIL -INDEX command. No action is required. BUTIL-6.10-65: BUTIL has loaded no records. The Maintenance utility did not load any records after you specified the BUTIL -LOAD command. Verify that you specified the command correctly and that the input file is in the correct format. BUTIL-6.10-66: BUTIL has loaded nn records so far.The Maintenance utility loaded the stated number of records since you issued the BUTIL -LOAD command. When you receive this message, the command is still executing. BUTIL-6.10-67: BUTIL is processing sequential record nn. This is an informational message from the Maintenance utility. No action is required. BUTIL-6.10-68: BUTIL has loaded nn records. The Maintenance utility loaded the stated number of records after you issued the BUTIL -LOAD command. This is the total number of records BUTIL loaded while the command executed. BUTIL-6.10-71: BUTIL has recovered nn records so far. The Maintenance utility recovered the stated number of records since you issued the BUTIL -RECOVER command. After you receive this message, the command is still executing. BUTIL-6.10-72: BUTIL has recovered nn records. The Maintenance utility recovered the stated number of records after you issued the BUTIL -RECOVER command. This is the total number of records BUTIL recovered while the command executed. BUTIL-6.10-73: BUTIL is scanning the file. The Maintenance utility is scanning a file while performing a BUTIL ÐSALVAGE command. No action is required. BUTIL-6.10-74: Btrieve error nn was returned for the Stop Command. The Maintenance utility returns this status code after the BUTIL -STOP command was issued. The corrective measure depends on the status code received. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. This message applies only to the DOS environment. BUTIL-6.10-76: When BUTIL wrote the Page Allocation Table at page #nn, an error occurred. The Maintenance utility returns this message while salvaging a file if the file is corrupted or when a hardware error occurs. BUTIL-6.10-77: When BUTIL wrote a mirror copy of the Page Allocation Table at page #nn, an error occurred. The Maintenance utility returns this message while salvaging a file if the file is corrupted or when a hardware error occurs. BUTIL-6.10-82: The file format is incorrect. The Maintenance utility returns this message when the format for the file is prior to Btrieve v6.x. Check the format of the file. BUTIL-6.10-83: BUTIL is checking Page Allocation Table page #nn of #nn. The Maintenance utility returns this message while performing a BUTIL -SALVAGE. No action is required. BUTIL-6.10-84: The Page Allocation Table entry nn on page nn at offset nn points to an invalid page. The Maintenance utility returns this message when it encounters file corruption while performing a BUTIL -SALVAGE. You may lose some data. Check the salvaged file. BUTIL-6.10-86: The fileÕs Page Allocation Table appears damaged. The Maintenance utility returns this message while performing a BUTIL -SALVAGE. You may lose some data. Check the salvaged file. BUTIL-6.10-90: BUTIL could not allocate enough memory. The Maintenance utility cannot continue with the BUTIL -SALVAGE command due to inadequate memory at the server. Free some memory at the server by unloading unused NLMs. BUTIL-6.10-91: BUTIL could not determine the size of the file.The Maintenance utility cannot continue with the BUTIL -SALVAGE command due toinadequate memory at the server. Free some memory at the server by unloading unused NLMs. BUTIL-6.10-92: The user terminated BUTIL. The Maintenance utility returns this message to indicate that the user entered 0 to quit when prompted by the utility. BUTIL-6.10-93: BUTIL has saved nn records so far. The Maintenance utility saved the stated number of records since you issued the BUTIL -SAVE command. When you receive this message, the command is still executing. BUTIL-6.10-94: BUTIL has saved nn records. The Maintenance utility saved the stated number of records after you issued the BUTIL -SAVE command. This is the total number of records BUTIL saved while the command executed. BUTIL-6.10-128: The Btrieve Version is n.n. The Maintenance utility returns the version of Btrieve that you are currently running. BUTIL-6.10-131: BUTIL was unable to create or open the sequential file. The Maintenance utility returns this message when it is unable to create or open the specified file. Check the sequential file to make sure it exists and has the read-only attribute set. BUTIL-6.10-132: The disk volume is full.The Maintenance utility returns this message when the disk volume is full. You must have more disk space to create or enlarge any Btrieve files. BUTIL-6.10-134: BUTIL was unable to create or open the new file. The Maintenance utility returns this message when it is unable to create or open the specified file. Check the file specified for the BUTIL -SAVE, -SALVAGE, or -RECOVER command. The file may already exist. BUTIL-6.10-136: BUTIL was unable to write the new backup file. The Maintenance utility returns this message when it is unable to write the new backup file. Verify that you specified the correct path and filename for the backup file. Also, make sure you have enough disk space for the file to be written. BUTIL-6.10-152: There was an error opening file xxxx. While performing the BUTIL -SALVAGE command, the Maintenance utility could not open the file. Check the Btrieve file attributes, path, and filename. BUTIL-6.10-155: BUTIL cannot open the Btrieve file xxxx. The Maintenance utility returns this message when it cannot open the specified file. Check the path, filename, and file attributes. Monitor Utility Messages The following messages are sent by the Btrieve Monitor utility (BTRMON.NLM). BTRMON-6.1-43: The utility cannot allocate memory sufficient for the operation.Press Esc to continue. The Btrieve Monitor utility makes five attempts to allocate enough memory for the operation and, if unsuccessful, displays message 118. BTRMON-6.1-118: There is still insufficient memory for the operation. The Btrieve Monitor utility displays this message when it has completed five unsuccessful attempts to allocate enough memory for the operation. You must either unload some NLMs, if possible, or wait for a time when server usage is less heavy. BTRMON-6.1-124: The utility cannot find the help file BTRMON.HLP. The Btrieve Monitor utility displays this message when it cannot find the help file. Check your SYSTEM directory to make sure that the help file is present. BTRMON-6.1-128: This Btrieve file is no longer open. Please press the key to update the file list. The Btrieve Monitor utility displays this message when you select a file that was open when you began viewing active resources but is now closed. Rebuild Utility Messages The following messages are sent by the Rebuild utility (BREBUILD.NLM) BREBUILD-1.1-2: BREBUILD could not allocate memory. The Rebuild utility displays this message when the server does not have adequate memory. Acquire more memory for the server. BREBUILD-1.1-3: BREBUILD could not rename xxxx to xxxx. The Rebuild utility displays this message when the specified file does not exist. Check to see if the file exists. BREBUILD-1.1-4: An incorrect Btrieve version is loaded. The Rebuild utility displays this message when an incorrect Btrieve version is loaded. Unload the current version of Btrieve, and reload using Btrieve v6.x. BREBUILD-1.1-5: BREBUILD could not delete xxxx. The Rebuild utility displays this message when it cannot delete the specified file. Check to see if the file is open. If it is open, close it. The Rebuild utility cannot delete a file while it is open. BREBUILD-1.1-6: An internal program error occurred. The Rebuild utility detected an internal diagnostic error. BREBUILD-1.1-7: BREBUILD could not open xxxx. The Btrieve status was nn. The Rebuild utility displays this message when it cannot open the specified file. Btrieve returns the specified status code. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. BREBUILD-1.1-8: BREBUILD could not open xxxx in the accelerated mode. The Btrieve status code was nn. The Rebuild utility displays this message when it cannot open the specified file in Accelerated mode. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. BREBUILD-1.1-9: BREBUILD could not create the new file or files with the Btrieve 6.x advanced features. Ensure that the correct version of Btrieve is loaded with the Create Btrieve Files in Pre v6.x Format option set to No. The Rebuild utility displays this message when it cannot create the new Btrieve files in v6.x format. Unload Btrieve by executing BSTOP, or unload Btrieve at the server console or at a workstation running RCONSOLE. BREBUILD-1.1-10: An invalid option was specified. Change the configuration options for the Rebuild utility through the Setup utility. Refer to Chapter 3, "Installing and Configuring Btrieve," for more information. When you run the Rebuild utility interactively, it checks the values you enter to ensure they are within the proper ranges. BREBUILD-1.1-11: Indexes are not consecutively numbered. Indexes will not be dropped.This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-12: BREBUILD has copied nn records so far. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-13: BREBUILD is rebuilding nn key number nn. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-14: BREBUILD did not rebuild for the following reason: xxxx The Rebuild utility was not able to rebuild the file specified and returned this message. Eliminate the cause for this message and try to rebuild the file again. BREBUILD-1.1-15: Btrieve returned status nn for the following reason: xxxx Btrieve returned the specified status code. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. BREBUILD-1.1-16: The xxxx file is already in 6.x format. The Rebuild utility displays this message when the specified file is already in Btrieve v6.x format. You do not need to rebuild the file. BREBUILD-1.1-17: The xxxx file is not a Btrieve file. The file you specified to rebuild is not a valid Btrieve file. The Rebuild utility cannot rebuild the file. BREBUILD-1.1-18: BREBUILD could not obtain the characteristics of the xxxx. The Btrieve status was nn. The Rebuild utility returns the specified Btrieve status code. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix BREBUILD-1.1-19: BREBUILD could not change to directory xxxx. The directory name you specified for the output directory is not valid. Specify a valid output directory name for the Rebuild utility on the command line or through the Setup utility. BREBUILD-1.1-20: BREBUILD is processing xxxx. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-21: BREBUILD is copying the xxxx to the temporary file xxxx. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-22: The file was rebuilt successfully. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-23: The utility could not open sys:\system\brebuild.log. The Rebuild utility displays this message if the file BREBUILD.LOG either does not exist or has been left open. BREBUILD-1.1-24: An error occurred accessing xxxx. The Rebuild utility displays this message when you specify an invalid filename. Make sure you specified a valid filename. BREBUILD-1.1-25: BREBUILD is setting the owner name of an empty target file. The Rebuild utilitpy displays this message when an error occurs during the setting of an empty target file's owner name. You need to rerun the Rebuild utility. BREBUILD-1.1-26: BREBUILD is dropping the indexes of an empty target file. The Rebuild utility displays this message when an error occurs during the dropping of an empty target file's indexes. You need to rerun the Rebuild utility. BREBUILD-1.1-27: BREBUILD is reading the first record from the old file. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-28: BREBUILD is inserting records into the new file. This is an informational message from the Rebuild utility. BREBUILD-1.1-31: BREBUILD could not create xxxx. The Btrieve status code was nn. The Rebuild utility displays this message when it cannot create the specified file. The utility returns the specified Btrieve status code. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. BREBUILD-1.1-32: BREBUILD copied a total of nn records. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-33: BREBUILD start time is nn. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-34: Key number nn is invalid. The Rebuild utility displays this message when the key specified for the Key Number (-K) option is invalid. Specify a valid key number for the Rebuild utility on the command line or through the Setup utility. BREBUILD-1.1-35: Page size nn is invalid. The Rebuild utility displays this message when the page size specified for the Page Size (-P) option is invalid. Specify a valid page size for the Rebuild utility on the command line or through the Setup utility. BREBUILD-1.1-36: The page size will be changed to nn. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-37: The rebuild process has ended. This is an informational message from the Rebuild utility. No action is required. BREBUILD-1.1-38: BREBUILD was terminated by the user. The user entered Ctrl+C and the Rebuild utility was unloaded. BREBUILD-1.1-39: BREBUILD was unloaded by the user. The user unloaded Btrieve and the Rebuild utility was unloaded. BREBUILD-1.1-40: BREBUILD could not open the file xxxx. The Rebuild utility displays this message when it cannot open the specified file. The file may be open or may not exist. Check for one of these conditions BREBUILD-1.1-42: The specified local server xxxx is invalid. The Rebuild utility displays this message when the specified server name is not a local server. BREBUILD-1.1-44: BREBUILD could not clone xxxx. The Btrieve status was nn. The Rebuild utility displays this message when it cannot clone the specified file. Btrieve returns the specified Btrieve status code. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. BREBUILD-1.1-45: The command line file xxxx does not have an delimiter. Each entry in the command file contains the utility options (if any) and the set of files to convert. Each entry must be followed by or [end]. Edit the command file to include the necessary delimiter BREBUILD-1.1-48: BREBUILD could not initialize the user interface library. The Rebuild utility displays this message when the server has insufficient memory to initialize the user interface library. BREBUILD-1.1-63: BREBUILD could not initialize localized message table. The Rebuild utility displays this message when the server has insufficient memory to initialize the localized message table. BREBUILD-1.1-64: BREBUILD is currently processing the following file: This is an informational message from the Rebuild utility. No action is required.BREBUILDÐ1.1Ð66: BREBUILD could not open the xxxx.The Rebuild utility displays this message when it cannot open the specified file. The file may be open or may not BREQUTIL-6.1-3: The single-user version of Btrieve vn.n is loaded. This is an informational message from the Requester utility. No action is required. BREQUTIL-6.1-4: The network version of Btrieve vn.n is loaded. This is an informational message from the Requester utility. No action is required. BREQUTIL-6.1-5: The multi-user version of Btrieve vn.n is loaded. This is an informational message from the Requester utility. No action is required. BREQUTIL-6.1-6: The OS/2 DynaLink for Btrieve vn.n is loaded. This is an informational message from the Requester utility. No action is required. BREQUTIL-6.1-7: Btrieve version vn.n is loaded. This is an informational message from the Requester utility. No action is required. BREQUTIL-6.1-8: Btrieve is not loaded. Either the Btrieve Requester (BREQUEST.EXE) or Record Manager (BTRIEVE.EXE) is not loaded. BREQUTIL-6.1-9: Btrieve operation xx was unsuccessful. The number of the applicable Btrieve status code is nn. The Requester utility returns the specified Btrieve status code. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. For information about the Btrieve operation xx, see Chapter 4, "Btrieve Operations," in the Btrieve Programmer's Manual. BREQUTIL-6.1-16: Btrieve cannot be removed from memory while NetWare SQL is loaded. This is an informational message from the Requester utility. No action is required Roll Forward Utility Messages The following messages are sent by the Roll Forward utilities for the DOS, OS/2, and Windows operating environments.Roll Forward Utility for DOSThis section lists and describes the messages that the Roll Forward utility for the DOS environment can send. BROLLFWD-6.1-1: This workstation has insufficient memory to complete the operation. The workstation does not have enough memory for the DOS Roll Forward utility to complete the current operation. Free some memory on the workstation and restart the Roll Forward process. BROLLFWD-6.1-2: The log file was created at nn:nn. This is an informational message from the DOS Roll Forward utility. No action is required BROLLFWD-6.1-3: An internal program error has occurred. The DOS Roll Forward utility detected an internal program error. BROLLFWD-6.1-4: The specified owner name is invalid. Please reenter the owner name: The DOS Roll Forward utility returns this message when the specified owner name is invalid. Specify a valid owner name and start the roll forward process again. The maximum length for an owner name is 8 bytes. Enter a valid owner name. BROLLFWD-6.1-21: The utility is unable to open xxxx. The number of the applicable system error code is nn. The DOS Roll Forward utility returns this message when it cannot open the specified file. The file may be open or may not exist. BROLLFWD-6.1-22: An error occurred while the utility was reading xxxx. The DOS Roll Forward utility returns this message when it cannot read the specified file. Verify that the file exists. If the file exists, ensure that the file is closed. BROLLFWD-6.1-23: File xxxx ended unexpectedly during the roll forward process. The DOS Roll Forward utility returns this message when the specified file ended unexpectedly during the roll forward process. The associated log file is corrupt. You cannot use this log file. BROLLFWD-6.1-24: The utility could not find the log file header information in xxxx. The DOS Roll Forward utility returns this message when no log file header information was found for the specified file. The associated log file is corrupt. You cannot use this log file. BROLLFWD-6.1-25: The xxxx file contains incorrect syntax in the log file header. The DOS Roll Forward utility returns this message when the log file header for the specified file contains incorrect syntax. The associated log file is corrupt. You cannot use this log file. BROLLFWD-6.1-26: Btrieve operation xx was unsuccessful. The number of the applicable Btrieve status code is nn. Btrieve returns the specified Btrieve operation and status codes to the DOS Roll Forward utility. The specified Btrieve operation was unsuccessful. Consult the screen message to get the value for nn, which corresponds to a numeric status code listed in the section "Status Codes" in this appendix. For more information about the Btrieve operation xx, refer to the Btrieve Programmer's Manual. BROLLFWD-6.1-27: The utility could not find xxxx in the BLOG.CFG file. The DOS Roll Forward utility returns this message when the specified file is not found in the log configuration file, BLOG.CFG. Edit the BLOG.CFG file to add the filename specified. For more information about the BLOG.CFG file, refer to the section "Creating the Log Configuration File" in Chapter 5. BROLLFWD-6.1-28: The record size of the Btrieve file file xxxx exceeds the size of the data buffer specified with the /d parameter. The DOS Roll Forward utility returns this message when the value specified for the /D option is invalid. Increase the value for the /D option BROLLFWD-6.1-29: The length of the data to be printed, specified with the /t option, is invalid. Valid data lengths range from 1 through the value of the data buffer size specified with the /d option. The DOS Roll Forward utility returns this message when the value specified for the /T option is invalid. Change the value for this option BROLLFWD-6.1-30: The length of the key to be printed, specified with the /k option, is invalid. Valid lengths for printing keys range from 1 through 255 characters. The DOS Roll Forward utility returns this message when the value specified for the /K option is invalid. Enter a value in the range 1 through 255. BROLLFWD-6.1-31: 0/1 entry in the log file has been processed. This is an informational message from the DOS Roll Forward utility. No action is required. BROLLFWD-6.1-32: xx in the log file have been processed. This is an informational message from the DOS Roll Forward utility. No action is required. BROLLFWD-6.1-42: The disk is full. The disk is full. Free some space on the disk and run the DOS Roll Forward utility again. BROLLFWD-6.1-43: The utility started the roll forward process at nn:nn. This is an informational message from the DOS Roll Forward utility. No action is required. Roll Forward Utility for OS/2 This section lists and describes the messages that the Roll Forward utility for the OS/2 environment can send. PBROLL-6.10-1: Window creation failed. The underlying cause of this condition is insufficient free memory. To complete the operation, you must free some of the memory currently allocated or terminate some of the active applications. PBROLL-6.10-2: Window positioning failed. The OS/2 Roll Forward utility returns this message when memory has been corrupted. Try turning your computer off and on to reinitialize the memory. PBROLL-6.10-3: Cannot open the following file: filename. The OS/2 Roll Forward utility cannot open the specified file (Btrieve file, log file, or listing file). Make sure that the specified file exists and then specify the correct, full pathname. PBROLL-6.10-4: An error occurred during input or output for the following file: filename. Btrieve either cannot read from or cannot write to the disk. Make sure that the file attributes are set correctly. You may also try running server diagnostics or checking the disk subsystem. PBROLL-6.10-5: The following file ended unexpectedly: filename. The OS/2 Roll Forward utility returns this message when the log file for the specified Btrieve file is corrupt. You cannot use this log file. PBROLL-6.10-6: There is no header information in the following file: filename. The OS/2 Roll Forward utility cannot find the log file header information in the specified log file because the log file is corrupt. You cannot use this log file. PBROLL-6.10-7: There is incorrect header syntax in the following file: filename. The OS/2 Roll Forward utility returns this message when the specified log file is corrupt and contains incorrect syntax in the log file header. You cannot use this log file. PBROLL-6.10-8: The following file was not found in BLOG.CFG: filename. The OS/2 Roll Forward utility returns this message when it cannot find the specified file in the log configuration file. Edit the BLOG.CFG file to add the filename specified. For more information about the BLOG.CFG file, refer to the section "Creating the Log Configuration File" in Chapter 5. PBROLL-6.10-9: The length of the record exceeds the current data buffer size for the following file: filename. The record size of the specified Btrieve file exceeds the data length you specified in the Options dialog box. Change the data length accordingly PBROLL-6.10-10: Btrieve error: Operation: xx Status Code: nn Btrieve returns the specified Btrieve operation and status codes to the OS/2 Roll Forward utility. The specified Btrieve operation was unsuccessful. Consult the screen message to get the value of Status Code nn, which corresponds to a numeric status code listed in the "Status Codes" section of this appendix. For more information about the Btrieve operation xx, refer to the Btrieve Programmer's Manual. PBROLL-6.10-11: The following unknown error occurred: nn. The OS/2 Roll Forward utility detected an internal diagnostic error. PBROLL-6.10-12: There was an invalid owner name. The OS/2 Roll Forward utility returns this message when the specified owner name is invalid. Specify a valid owner name and start the roll forward process again. The maximum length for an owner name is 8 bytes. Enter a valid name in the Owner text box. PBROLL-6.10-13: Unable to add the item to the queue. The OS/2 Roll Forward utility works on a queued-job basis. The maximum number of files allowed in the queue is 32. That is, the utility cannot roll forward more than 32 files at one time. If you want to roll forward all the files on a specified volume, edit the log configuration file, BLOG.CFG, as needed to ensure that no more than 32 files are specified. If you want to roll forward individual files, make sure that you do not specify more than 32 files. PBROLL-6.10-14: There is not enough memory available. The workstation does not have enough memory for the OS/2 Roll Forward utility to complete the current operation. Free some memory on the workstation and restart the roll forward process. PBROLL-6.10-15: The data length value is invalid. It must be between 1 and 64. The OS/2 Roll Forward utility returns this message when the specified data length is invalid. The Data Length option in the Options dialog box specifies the number of kilobytes allocated for the data buffer that the utility uses to process the logged entries. The value specified for the Data Length option should be at least as large as the largest record to be rolled forward. Specify an appropriate value for the Data Length PBROLL-6.10-16: Could not allocate the data buffer. The OS/2 Roll Forward utility returns this message when the system is low on memory. Free some system memory or specify a smaller data buffer, and run the utility again. PBROLL-6.10-17: Could not open the list file. The OS/2 Roll Forward utility returns this message when the pathname you entered for the new list file (when the disk ran out of space) is invalid. Specify a valid pathname for the new list file. PBROLL-6.10-18: ABORT-The data files may be left in an inconsistent state. Please confirm abort. The OS/2 Roll Forward utility returns this message when you select the Abort option during the roll forward process. Selecting Abort prevents the utility from applying the rest of the logged operations to the backup copy of the corresponding Btrieve file. Confirming the abort can leave the Btrieve file that is currently being rolled forward in an inconsistent state (that is, only partially updated). Select Yes to confirm you want to abort or No to cancel the abort and continue the roll forward process. PBROLL-6.10-19: This utility could not open NOVDB.INI. The OS/2 Roll Forward utility returns this message when it cannot open the initialization file, NOVDB.INI. Check the file attributes of the NOVDB.INI file to ensure that you have access rights to it. This file should be in the directory you selected when choosing the options for the utility. PBROLL-6.10-20: This item or volume is already in the queue. The OS/2 Roll Forward utility returns this message when the item or volume you entered in the queue has already been entered. Enter a different item or volume. PBROLL-6.10-21: The listing length exceeds the buffer length. The OS/2 Roll Forward utility returns this message when the specified listing length is invalid. In the Options dialog box, the Data to List option exceeds the value you entered for the Data Length option. The Data to List option specifies the length of the data buffer that will be printed in the list file for each operation that is rolled forward. The Data Length option specifies the number of kilobytes allocated for the data buffer that the PBROLL-6.10-22: The listing length is invalid. The OS/2 Roll Forward utility returns this message when the specified listing length is invalid. You entered an invalid value for the Data to List or the Key to List option in the Options dialog box. The Data to List option specifies the length of the data buffer that will be printed in the list file for each operation that is rolled forward. Similarly, the Key to List option specifies the length of the key buffer that will be printed in the list file for each operation that is rolled forward. In the options dialog box, make sure the value you enter for the Data to List option does not exceed the value you entered for the Data Length ption and the Key to List option does not exceed 255 bytes. PBROLL-6.10-23: The key listing length cannot exceed 255. The OS/2 Roll Forward utility returns this message when the specified key listing length is invalid. The value you entered for the Key to List option in the Options dialog box exceeds 255 bytes. The Key to List option specifies the length of the key buffer that will be printed in the list file for each operation that is rolled forward. Make sure the value you enter for the Key to List option does not exceed 255 bytes. PBROLL-6.10-24: Only one instance is allowed to run. You tried to run the OS/2 Roll Forward utility, but it is already running. Roll Forward Utility for Windows This section lists and describes the messages that the Roll Forward utility for the Windows environment can send. WBROLL-6.1-1: Could not open configuration file BLOG.CFG. The Windows Roll Forward utility cannot open the log configuration file, BLOG.CFG. Make sure that the file is in the system directory SYS:\SYSTEM. For more information about the BLOG.CFG file, refer to the section "Creating the Log Configuration File" in Chapter 5. WBROLL-6.1-2: Continue roll forward? The Windows Roll Forward utility returns this message when one of the files cannot be rolled forward. You can continue rolling forward the other files, or you can stop the roll forward process. Select Yes to continue or No to stop. Stopping the roll forward process prevents the Roll Forward utility from applying the rest of the logged operations to the backup copy of the corresponding Btrieve file. This can leave your Btrieve files in an inconsistent state (that is, WBROLL-6.1-3: Cannot open the following file: filename. The Windows Roll Forward utility cannot open the specified file (Btrieve file, log file, or listing file). Make sure that the specified file exists and then specify the correct, full pathname. WBROLL-6.1-4: An error occurred during input or output for the following file: filename. Btrieve either cannot read from or cannot write to the disk. Make sure that the file attributes are set correctly. You may also try running server diagnostics. WBROLL-6.1-5: The following file ended unexpectedly: filename. The Windows Roll Forward utility returns this message when the log file for the specified Btrieve file is corrupt. You cannot use this log file WBROLL-6.1-6: There is no header information in the following file: filename. The Windows Roll Forward utility cannot find the log file header information in the specified log file because the log file is corrupt. You cannot use this log file WBROLL-6.1-7: There is incorrect header syntax in the following file: filename. The Windows Roll Forward utility returns this message when the specified log file is corrupt and contains incorrect syntax in the log file header. You cannot use this log file. WBROLL-6.1-8: The following file was not found in BLOG.CFG: filename. The Windows Roll Forward utility returns this message when the specified file is not found in the log configuration file, BLOG.CFG. Edit the BLOG.CFG file to add the filename specified. For more information about the BLOG.CFG file, refer to the section "Creating the Log Configuration File" in Chapter 5. WBROLL-6.1-9: The length of the record exceeds the current data buffer size for the following file: filename. The Windows Roll Forward utility returns this message when the specified record length is invalid. The record size of the specified Btrieve file exceeds the data length you specified in the Options dialog box. Change the data length accordingly. WBROLL-6.1-10: Btrieve error: Operation: xx Status Code: nn Btrieve returns the specified Btrieve operation and status codes to the Windows Roll Forward utility. The specified Btrieve operation was unsuccessful. Consult the screen message to get the value of Status Code nn, which corresponds to a numeric status code listed in the "Status Codes" section of this appendix. For more information about the Btrieve operation xx, refer to the Btrieve Programmer's Manual. WBROLL-6.1-11: The following unknown error occurred: nn. The Windows Roll Forward utility detected an internal diagnostic error. WBROLL-6.1-12: There was an invalid owner name. The Windows Roll Forward utility returns this message when the specified owner name is invalid. Specify a valid owner name and start the roll forward process again. The maximum length for an owner name is 8 bytes. Enter a valid name in the Owner text box. WBROLL-6.1-13: The utility was unable to add the item to queue. The Windows Roll Forward utility works on a queued-job basis. The maximum number of files allowed in the queue is 32. That is, the utility cannot roll forward more than 32 files at one time. If you want to roll forward all the files on a specified volume, edit the log configuration file, BLOG.CFG, as needed to ensure that no more than 32 files are specified. If you want to roll forward individual files, make sure that you do not specify more than 32 files at one time. WBROLL-6.1-14: There is not enough memory available. The workstation does not have enough memory for the Windows Roll Forward utility to complete the current operation. Free some memory on the workstation and restart the roll forward process. WBROLL-6.1-15: The data length value is invalid. It must be between 1 and 64. The Windows Roll Forward utility returns this message when the specified data length is invalid. The Data Length option in the Options dialog box specifies the number of kilobytes allocated for the data buffer that the utility uses to process the logged entries. The value specified for the Data Length option should be at least as large as the largest record to be rolled forward. Specify an appropriate value for the Data Length option in the Options dialog box. WBROLL-6.1-16: Could not allocate the data buffer. The Windows Roll Forward utility returns this message when the system is low on memory. Free some system memory or specify a smaller data buffer, and run the utility again. WBROLL-6.1-17: Could not open the list file. The Windows Roll Forward utility returns this message when the pathname you entered for the new list file (when the disk ran out of space) is invalid. Specify a valid pathname for the new list file. WBROLL-6.1-18: ABORT - The data files may be left in an inconsistent state. Please confirm abort. The Windows Roll Forward utility returns this message when you select the Abort option during the roll forward process. Selecting Abort prevents the Roll Forward utility from applying the rest of the logged operations to the backup copy of the corresponding Btrieve file. Confirming the abort can leave the Btrieve file that is currently being rolled forward in an inconsistent state (that is, only partially updated). Select Yes to confirm you want to abort or No to cancel the abort and continue the roll forward process. WBROLL-6.1-19: Log file name too long. Max = 120. The Windows Roll Forward utility returns this message when the length of the log filename you specified is greater than 120 bytes. Specify an appropriate length for the log file. WBROLL-6.1-20: This item or volume is already in the queue. The Windows Roll Forward utility returns this message when the item or volume you entered in the queue has already been entered. Enter a different item or volume. WBROLL-6.1-21: The listing length exceeds the buffer length. The Windows Roll Forward utility returns this message when the specified listing length is invalid. In the Options dialog box, the Data to List option exceeds the value you entered for the Data Length option. The Data to List option specifies the length of the data buffer that will be printed in the list file for each operation that is rolled forward. The Data Length option specifies the number of kilobytes allocated for the data buffer that the WBROLL-6.1-22: Pathname is too long. The Windows Roll Forward utility returns this message when the pathname you specified is greater than 240 bytes. Specify a shorter pathname. WBROLL-6.1-24: Only one instance is allowed to run. You tried to run the Windows Roll Forward utility, but it is already running. Setup Utility Messages The following messages are sent by the Setup utility (BSETUP.NLM). BSETUP-6.1-40: The Btrieve Setup utility was unable to save the file. The Setup utility was not able to save the Btrieve configuration options to the BSTART.NCF file. Retry the operation. BSETUP-6.1-43: The attempted memory allocation failed.The Setup utility cannot allocate enough internal memory to display the Rebuild log file. BSETUP-6.1-63: The BSTART.NCF file is incomplete or invalid. The Setup utility is unable to save the configuration option changes to BSTART.NCF because the file is incomplete or invalid. You may want to delete BSTART.NCF and recreate it in the Setup utility. BSETUP-6.1-73: The Btrieve Setup utility could not find the BSTART.NCF file, which must reside in the SYS:SYSTEM directory on the server. The Setup utility cannot find the BSTART.NCF file. If BSTART.NCF does not exist, you must create it through the Setup utility. BSETUP-6.1-75: To implement the configuration changes, first unload BSPXCOM.NLM and BTRIEVE.NLM, and then use the BSTART.NCF file to reload BSPXCOM.NLM and BTRIEVE.NLM. For the changes you made to the configuration options to take effect, you must unload BSPXCOM.NLM and BTRIEVE.NLM and then reload them using BSTART.NCF. BSETUP-6.1-100: The BSTART.NCF file was created with the default configuration settings. To view or change these settings, select the Set Btrieve Configuration option on the Available Options menu. Select the stated option within the Setup utility to change the configuration options for Btrieve in the BSTART.NCF file BSETUP-6.1-121: WARNING: Before running the Btrieve Rebuild utility, be sure to back up all your Btrieve data files. Before running the Rebuild utility, make sure you have backed up all your Btrieve data files. Having a backup copy ensures against data loss if a power interruption occurs while you are running the utility. Another reason it is better to keep a backup is that the Rebuild utility deletes the original Btrieve files. BSETUP-6.1-122: You must specify the Rebuild Configuration parameters before you can execute the Rebuild utility. Before you can run the Rebuild utility, you must specify appropriate values for the Rebuild configuration options in the Setup utility. Please do so before attempting to run the Rebuild utility again. BSETUP-6.1-131: The Output Directory pathname does not require a file specification. Do not specify a filename as part of the output directory path. BSETUP-6.1-132: Before rebuilding Btrieve files on a remote server, make sure the following files are loaded: BROUTER.NLM and BTRIEVE.NLM on the local server, and BSPXCOM.NLM and BTRIEVE.NLM on the remote server. The NLMs listed in the message must be loaded on a local server and a remote server before attempting to rebuild files on a remote server. BSETUP-6.1-148: The Btrieve Setup utility could not find the file BREBUILD.NLM in the system directory, so you cannot invoke the Rebuild utility at this time. The Setup utility returns this message when it cannot find the file BREBUILD.NLM. The file BREBUILD.NLM must be in the system directory. Please verify that it is in the correct directory. BSETUP-6.1-152: Either the Input Directory pathname is invalid, or no matching files could be found. Please check the pathname. The Setup utility returns this message when the path specified for the Files To Be Converted field is invalid or when no files exist in the directory specified BSETUP-6.1-153: Either the Output Directory pathname is invalid, or no matching files could be found. Please check the pathname. The Setup utility returns this message when the path specified for the Output Directory field does not exist on the local server. BSETUP-6.1-158: The Btrieve Setup utility could not create a screen for the Rebuild utility, so you cannot invoke the Rebuild utility at this time. The Setup utility cannot invoke the Rebuild utility because too many screens are active at this time. Try the Rebuild utility again later when there is less activity on the server. BSETUP-6.1-159: The Btrieve Setup utility could not open the Rebuild error log file. When you attempted to view the Rebuild log file, the Setup utility was not able to open the log file. Verify that the file exists before retrying the operation. BSETUP-6.1-166: The utility found no files in the specified directory path. Please check the pathname. The Setup utility cannot find any Btrieve files to rebuild in the chosen directory (specified for Files To Be Converted). Verify that you specified the correct directory. BSETUP-6.1-167: The Rebuild utility could not be invoked at this time. The Setup utility returns this message when it cannot invoke the Rebuild utility. Check to make sure that the version 1.1 of BREBUILD.NLM is loaded at the server. If it is not, load it at this time BSETUP-6.1-168: The Btrieve Setup utility could not create the semaphore which synchronizes BSETUP.NLM and BREBUILD.NLM, so you cannot invoke the Rebuild utility at this time. The semaphore used to synchronize the Setup utility and the Rebuild utility could not be created. Try the utility at a later time when there is less activity at the file server or use the command line version of BREBUILD.